dwc_otg: fix split transaction data toggle handling around dequeues
authorP33M <p33m@github.com>
Tue, 2 May 2017 15:31:15 +0000 (16:31 +0100)
committerRaspbian kernel package updater <root@raspbian.org>
Sun, 8 Oct 2017 01:08:03 +0000 (01:08 +0000)
commite5f5fd96675dc1122deb6ab48bb933d29a5811e4
tree17bac7521c5a8df18b9ba4cc5688a52e7716a066
parent2b50e671cf51ee03d5ee2f5bcfe09a75947a1e47
dwc_otg: fix split transaction data toggle handling around dequeues

See https://github.com/raspberrypi/linux/issues/1709

Fix several issues regarding endpoint state when URBs are dequeued
- If the HCD is disconnected, flush FIQ-enabled channels properly
- Save the data toggle state for bulk endpoints if the last transfer
  from an endpoint where URBs were dequeued returned a data packet
- Reset hc->start_pkt_count properly in assign_and_init_hc()
drivers/usb/host/dwc_otg/dwc_otg_hcd.c
drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c